home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / src / RBF_src.lha / RBF.h < prev    next >
C/C++ Source or Header  |  1999-02-16  |  891b  |  55 lines

  1. #ifndef _RBF_H_
  2. #define _RBF_H_
  3.  
  4. #include <assert.h>
  5. #include <stdio.h>
  6. #include <math.h>
  7.  
  8. // Radial Basis Function for computing memberships
  9. class RBFNode
  10. {
  11. private:
  12.    int d;
  13.    float *C, *R;    //center, radius
  14.    float Distance(float *X);
  15. public:
  16.    RBFNode();
  17.    RBFNode(int d0);
  18.    ~RBFNode();
  19.    void Init(int d0);
  20.    void SetCR(int i, float c, float r);
  21.    float Membership(float *X);
  22.    void ShowStats(void);
  23. };
  24.  
  25.  
  26. struct DimensionalParameters {
  27.    int nof_RBFs;
  28.    int Extremis;
  29.    float centre;
  30.    float spacing;
  31. };
  32.  
  33.  
  34. class RBF
  35. {
  36. private:
  37.    int d;
  38.    int nodes;
  39.    float *X;         //input vector
  40.    RBFNode *N;       //RBF Membership Nodes
  41. //   void SetupArray(
  42. public:
  43.    float *Y;      //output vector
  44.    RBF(int nof_dimensions, DimensionalParameters *DP);
  45.    ~RBF();
  46.    void Encode(float *vector);
  47.    void ShowY(int nof_dimensions, DimensionalParameters *DP);
  48. };
  49.  
  50.  
  51. #endif
  52.  
  53.  
  54.  
  55.